1. Field of the Invention
The present invention relates generally to computer interfaces, and more particularly to a system and method for interfacing to a transaction processing system.
2. Related Art
Current developments in computer and computer-related technology have resulted in the utilization of computers in numerous business applications. Almost every facet of today's industry is implemented using computers and computer systems in some manner. Computerization has become necessary for businesses to remain in a competitive posture.
Computer systems are used to automate processes, keep track of large quantities of information, and provide fast, flexible communications. One area of application that enjoys widespread computerization is that of business transactions. Many businesses from small `mom and pop` stores, to professional offices and partnerships, to large corporations have computerized their business transactions to some extent. Transactions that have been computerized include billing, order-taking, and inventory control, etc. Computers are used in these transactions to perform a variety of functions.
The following scenario provides an example of a computerized business transaction. The computer system accepts an order from an external source. The external source may be a computer at a customer's facility, a computer at a regional sales office, or a manual keyboard entry at a system terminal. Along with materials and quantities ordered, a customer identification number is included. The system uses this number to look up certain information about the customer such as billing address, credit limit, shipping address, etc. The credit limit can be compared with an outstanding balance for that customer as recorded in an accounting database. If the order will cause the customer to exceed its credit limit, the transaction may be prohibited or flagged for authorization.
Specific order information regarding materials and quantity requested is compared with an inventory database indicating the availability of the requested materials. Based on this information a reply is sent to the customer indicating the delivery schedule.
The system sends a message to the warehouse detailing the specifics of the order. The warehouse prepares the order and ships it to the customer at the address specified on the order. In an automated warehouse setting, order selection and preparation is performed by a computerized system as well.
Once the order is prepared and sent, the computer system updates an accounts receivable database, and an invoice is sent to the customer at the billing address. When the customer tenders payment, the accounts receivable database is updated.
There are many integrated software application packages available to perform a wide range of business functions, including those discussed above. These packages are generally referred to in this document as transaction processing software packages. One such package is the SAP R/2 System available from SAP America, Inc., 625 North Governor Printz Blvd., Essington, Pa. 19029.
The SAP R/2 System is a transaction processing system designed to run in an IBM CICS (customer interface control system) or IMS environment. SAP uses services of the host computer where necessary. For example, SAP may use CICS to interface with terminals, printers, databases or external communications facilities such as IBM's Virtual Telecommunications Access Method (VTAM).
SAP is a modularized, table driven system that uses transactions to perform specified functions. These functions may include order processing, inventory control and invoice validation; financial accounting, planning and control; production planning and control; and project accounting planning and control. The modules are all fully integrated with one another, allowing for integrated operations.
SAP internal functions are performed using its own high-level programming language, ABAP4. ABAP4 is also available to allow users to create specialized application functions and reports. ABAP4 is a fourth generation programming language with a tightly integrated data dictionary.
SAP operates in two modes, online and batch. Interface tools are available in SAP to allow other application software, such as external processes or applications, to be interfaced to the SAP system using the online and/or the batch modes. For example, a purchasing application software package at a regional manufacturing plant may be interfaced to the SAP at a corporate headquarters office to allow automated entry of raw material receipts.
The SAP system provides a number of unique interface tools that an external application can use to communicate with the SAP system. The external applications use these tools to send messages to the SAP system for subsequent action. In this patent document, the term "message" is used to refer to data signals transmitted between external applications and the transaction processing system. Each message can include data to be sent to the transaction processing system and instructions telling the transaction processing system how to operate on that data.
However, conventional SAP-provided interface tools have several major shortcomings. For example, in the online mode, when a message (an order, for example) is transmitted to SAP from an external application there is no acknowledgment. In the case of an order, the order data enters a transient data queue of CICS and cannot be tracked or managed. In this environment, the external application cannot determine the status of its order, or even whether the order was received by SAP.
Another shortcoming of conventional SAP interface tools is that portions of the SAP online system are shut down to perform batch write operations. Consequently, the online transactions cannot be used during a batch input session. Conventional SAP interfaces have worked around this shortcoming by providing two batch input files. One batch input file is for online inputs, while the other is for batch inputs. This solution of maintaining two databases results in increased flexibility, but batch interfaces can only be entered into the databases when the online system is not being used.
Further, conventional SAP interface tools require screen buffers that match the terminal screen layouts. This requires that a screen layout definition be exported from SAP to the external application. With this kind of interface, when the SAP system changes input screen requirements, all external processes must change the way they generate screens.
These interfacing problems are not limited to interfaces with the SAP system, but apply to interfaces to transaction processing systems in general and interfaces between business software applications. What is needed is a system and method for interfacing to a transaction processing system that overcomes the shortcomings of the SAP-provided interface tools. More specifically, what is needed is an interface to the SAP system that provides acknowledgment to external applications upon receipt of a message, and provides tracking and management of the message as it is processed through the transaction processing system.
Confirming receipt of a message from an external application would allow the external application to maintain an awareness of the status of the message sent to the transaction processing system. In this manner, the external application would know when its message is received by the transaction processing system, where that message is in the transaction processing process, and whether that message needs to be resubmitted due to a data or time-out error.
What is further needed is a transaction processing interface that allows external applications to submit batch input files to the transaction processing system in the on-line mode.